home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 2002 November / SGI Freeware 2002 November - Disc 3.iso / dist / fw_qt3.idb / usr / freeware / Qt / examples / canvas / canvas.h.z / canvas.h
Encoding:
C/C++ Source or Header  |  2002-04-08  |  1.6 KB  |  92 lines

  1. #ifndef EXAMPLE_H
  2. #define EXAMPLE_H
  3.  
  4. #include <qpopupmenu.h>
  5. #include <qmainwindow.h>
  6. #include <qintdict.h>
  7. #include <qcanvas.h>
  8.  
  9. class BouncyLogo : public QCanvasSprite {
  10.     void initPos();
  11.     void initSpeed();
  12. public:
  13.     BouncyLogo(QCanvas*);
  14.     void advance(int);
  15.     int rtti() const;
  16. };
  17.  
  18.  
  19. class FigureEditor : public QCanvasView {
  20.     Q_OBJECT
  21.  
  22. public:
  23.     FigureEditor(QCanvas&, QWidget* parent=0, const char* name=0, WFlags f=0);
  24.     void clear();
  25.  
  26. protected:
  27.     void contentsMousePressEvent(QMouseEvent*);
  28.     void contentsMouseMoveEvent(QMouseEvent*);
  29.  
  30. signals:
  31.     void status(const QString&);
  32.  
  33. private:
  34.     QCanvasItem* moving;
  35.     QPoint moving_start;
  36. };
  37.  
  38. class Main : public QMainWindow {
  39.     Q_OBJECT
  40.  
  41. public:
  42.     Main(QCanvas&, QWidget* parent=0, const char* name=0, WFlags f=0);
  43.     ~Main();
  44.  
  45. public slots:
  46.     void help();
  47.  
  48. private slots:
  49.     void aboutQt();
  50.     void newView();
  51.     void clear();
  52.     void init();
  53.  
  54.     void addSprite();
  55.     void addCircle();
  56.     void addHexagon();
  57.     void addPolygon();
  58.     void addSpline();
  59.     void addText();
  60.     void addLine();
  61.     void addRectangle();
  62.     void addMesh();
  63.     void addLogo();
  64.     void addButterfly();
  65.  
  66.     void enlarge();
  67.     void shrink();
  68.     void rotateClockwise();
  69.     void rotateCounterClockwise();
  70.     void zoomIn();
  71.     void zoomOut();
  72.     void mirror();
  73.     void moveL();
  74.     void moveR();
  75.     void moveU();
  76.     void moveD();
  77.  
  78.     void print();
  79.  
  80.     void toggleDoubleBuffer();
  81.  
  82. private:
  83.     QCanvas& canvas;
  84.     FigureEditor *editor;
  85.  
  86.     QPopupMenu* options;
  87.     QPrinter* printer;
  88.     int dbf_id;
  89. };
  90.  
  91. #endif
  92.